Mesh networks are composed of two or more electronic devices, each containing at least one transceiver. The electronic devices use their transceivers to communicate with one another and/or a central device. If the device wishes to communicate with another device that is out of transmission range, the device may communicate via multi-hop communication through other devices. In a frequency-hopping (or channel-hopping) mesh network, devices communicate using different frequencies/channels at different times. To communicate a packet, a transmitter-receiver pair must be configured to the same channel during packet transmission. For a transmitter to communicate with a receiver at an arbitrary time in the future, the transmitter and receiver must synchronize to a channel schedule that specifies what channel to communicate on at what time.
Existing systems optimize for both unicast and broadcast communication by synchronizing the entire network to the same channel-switching schedule and using a central coordinator to compute and configure channel schedules for each individual device. However, this method adds significant delay and communication overhead to coordinate new schedules between each transmitter-receiver pair. Other systems provide a hybrid approach, where the communication is divided between independently scheduled unicast schedules and a shared broadcast transmission schedule.
To maximize channel capacity in such a hybrid system, neighboring devices must synchronize their unicast schedules and network-wide broadcast schedule to sub-millisecond accuracy. Existing mechanisms allow devices to achieve this accuracy under normal operation, using a crystal oscillator to maintain an accurate free-running time source. Devices may also compute the clock drift rates and temperature effects to compensate for inaccuracies in the oscillator's frequency. However, if a device experiences a power cycle or reboot, time synchronization is lost since the free-running clock has been disturbed and memory containing information about the neighbors' schedules is reset. Such events may occur due to a simple power glitch, a managed reboot (e.g., firmware upgrade), or unmanaged reboots (e.g., watchdog reset, accidentally removing/inserting the line card, etc.). While the device could simply rejoin the network as if it were a new node powering on, doing so incurs significant latency.
The most disruptive case is when a Field Area Router (FAR) needs to reset its interface facing a low-power and lossy network (LLN). Because the FAR's LLN interface serves as the source of the broadcast schedule, resetting the FAR's LLN interface can cause the FAR to establish a new broadcast schedule. Unfortunately, it takes time for the LLN devices to discover and synchronize to the new broadcast schedule and disrupts any existing broadcast communication. In addition, the FAR's LLN interface must also establish a new unicast schedule after a reset. Neighboring devices rely on unicast communication to not only forward data messages but also to evaluate the link quality. Without quickly discovering the new unicast schedule, devices may erroneously declare the link as down and the routing topology begins to fall apart. Accordingly, though inconvenient for any device to become de-synchronized in a frequency-hopping network, resetting the LLN interface of a FAR can take hours for nodes to rejoin the network and days for the routing topology to optimize itself.